home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #334 (1994-06)(Rhein-Sieg-Soft).zip / Franz PD Disk #334 (1994-06)(Rhein-Sieg-Soft).adf / ASo-Tools / Sources / DefaultColors.asm < prev    next >
Assembly Source File  |  1991-12-25  |  1KB  |  50 lines

  1. * DefaultColors.asm
  2.  
  3. * dieses CLI-Kommando setzt die Preferences-Screenfarben gemäß
  4. * Default-Preferences
  5.  
  6. * Aufruf: DefaultColors
  7.  
  8.     INCLUDE "intuition/LVO.i"
  9.     INCLUDE "intuition/intuition.i"
  10.  
  11.     SECTION only_one,CODE
  12.  
  13. ;Intuition öffnen
  14.     lea    intname(pc),a1
  15.     moveq    #0,d0        ;egal, welches OS
  16.     CALLEXEC OpenLibrary
  17.     tst.l    d0
  18.     beq    err        ;intuition verfügbar ?
  19. ;Farben aus Default-Preferences lesen
  20.     move.l    d0,a6        ;eine andere IntuitionBase halte ich mir nicht
  21.     move.l    #pf_SIZE,d0
  22.     sub.l    d0,sp        ;C-like (lokale) Variable struct Prefs
  23.     move.l    sp,a0
  24.     CALL    GetDefPrefs
  25.     movem.l pf_color0(sp),d6/d7     ;Farben retten
  26. ;aktuelle Prefs lesen (um den Rest nicht zu ändern)
  27.     move.l    #pf_SIZE,d0
  28.     move.l    sp,a0
  29.     CALL    GetPrefs
  30. ;Fraben einsetzen
  31.     movem.l d6/d7,pf_color0(sp)     ;Farben in aktuelle Prefs einsetzen
  32. ;neue Prefs setzen
  33.     move.l    #pf_SIZE,d0
  34.     moveq    #0,d1        ;Privatangelegenheit: laufende Tasks werden
  35.                 ; nicht gestört
  36.     move.l    sp,a0
  37.     CALL    SetPrefs
  38. ;Puffer löschen
  39.     add.l    #pf_SIZE,sp
  40. ;Intuition schließen
  41.     move.l    a6,a1
  42.     CALLEXEC CloseLibrary
  43. ;alles gelaufen
  44. err:    moveq    #0,d0
  45.     rts
  46.  
  47. intname: INTNAME
  48.  
  49.     END
  50.